code[class*="language-"], pre[class*="language-"] {
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
  text-shadow: none;
  background: #b3d4fc;
}

pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
  text-shadow: none;
  background: #b3d4fc;
}

@media print {
  code[class*="language-"],
  pre[class*="language-"] {
    text-shadow: none;
  }
}

/* Code blocks */
pre[class*="language-"] {
  margin: 0;
  overflow: auto;
  padding: $space-base * 0.5;
}

/* Inline code */
:not(pre) > code[class*="language-"] {
  padding: .1em;
  border-radius: .3em;
  white-space: pre-wrap;
}

.doc-code {
  text-shadow: 0 1px #fff;

  .token.comment, .token.prolog, .token.doctype, .token.cdata {
    color: slategray;
  }

  .token.punctuation {
    color: #999;
  }

  .token.namespace {
    opacity: .7;
  }

  .token.property, .token.tag, .token.boolean, .token.number, .token.constant, .token.symbol, .token.deleted {
    color: #905;
  }

  .token.selector, .token.attr-name, .token.string, .token.char, .token.builtin, .token.inserted {
    color: #690;
  }

  .token.operator, .token.entity, .token.url, .language-css .token.string, .style .token.string {
    color: #9a6e3a;
  }

  .token.atrule, .token.attr-value, .token.keyword {
    color: #07a;
  }

  .token.function, .token.class-name {
    color: #DD4A68;
  }

  .token.regex, .token.important, .token.variable {
    color: #e90;
  }

  .token.important, .token.bold {
    font-weight: bold;
  }

  .token.italic {
    font-style: italic;
  }

  .token.entity {
    cursor: help;
  }
}

.doc-code-dark {
  text-shadow: 0 -.1em .35em rgba(0, 0, 0, .5);

  .token.comment, .token.prolog, .token.doctype, .token.cdata {
    color: hsl(30, 20%, 50%);
  }

  .token.punctuation {
    color: $grey-5;
  }

  .token.namespace {
    opacity: .7;
  }

  .token.property, .token.tag, .token.boolean, .token.number, .token.constant, .token.symbol {
    color: hsl(350, 70%, 75%);
  }

  .token.selector, .token.attr-name, .token.string, .token.char, .token.builtin, .token.inserted {
    color: hsl(75, 70%, 75%);
  }

  .token.operator, .token.entity, .token.url, .language-css .token.string, .style .token.string, .token.variable {
    color: hsl(40, 90%, 60%);
  }

  .token.atrule, .token.attr-value, .token.keyword {
    color: hsl(350, 40%, 70%);
  }

  .token.regex, .token.important {
    color: #e90;
  }

  .token.important, .token.bold {
    font-weight: bold;
  }

  .token.italic {
    font-style: italic;
  }

  .token.entity {
    cursor: help;
  }

  .token.deleted {
    color: red;
  }
}

